<?php

use app\common\ColumnFormat;
use think\migration\Migrator;
use think\migration\db\Column;

class CreateTableUserCreditRecord extends Migrator
{
  /**
   * Change Method.
   *
   * Write your reversible migrations using this method.
   *
   * More information on writing migrations is available here:
   * http://docs.phinx.org/en/latest/migrations.html#the-abstractmigration-class
   *
   * The following commands can be used in this method and Phinx will
   * automatically reverse them when rolling back:
   *
   *    createTable
   *    renameTable
   *    addColumn
   *    renameColumn
   *    addIndex
   *    addForeignKey
   *
   * Remember to call "create()" or "update()" and NOT "save()" when working
   * with the Table class.
   */
  public function change()
  {
    $table = $this->table('user_credit_record', ['comment' => '用户积分记录'])
      ->addColumn(ColumnFormat::timestamp('create_time'))
      ->addColumn(ColumnFormat::timestamp('update_time'))
      ->addColumn(ColumnFormat::timestamp('delete_time'))
      ->addColumn(ColumnFormat::stringLong('desc')->setComment('描述'))
      ->addColumn(ColumnFormat::stringShort('title'))
      ->addColumn(ColumnFormat::integer('before_credit'))
      ->addColumn(ColumnFormat::integer('new_credit'))
      ->addColumn(ColumnFormat::integer('change_credit')->setSigned((true)))
      ->addColumn(ColumnFormat::stringTypeStatus('type'))
      ->addColumn(ColumnFormat::integer('user_id'))

      ->create();
  }
}
